digipot10 2.2.0
Loading...
Searching...
No Matches
digipot10.h File Reference

This file contains API for DIGI POT 10 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  digipot10_s
 DIGI POT 10 Click context object. More...
struct  digipot10_cfg_t
 DIGI POT 10 Click configuration object. More...

Macros

#define DIGIPOT10_REG_VOLATILE_WIPER_0   0x01
 DIGI POT 10 memory map.
#define DIGIPOT10_REG_VOLATILE_WIPER_1   0x02
#define DIGIPOT10_REG_NV_WIPER_0   0x03
#define DIGIPOT10_REG_NV_WIPER_1   0x04
#define DIGIPOT10_REG_GP_DATA_0   0x05
#define DIGIPOT10_REG_GP_DATA_1   0x06
#define DIGIPOT10_REG_GP_DATA_2   0x07
#define DIGIPOT10_REG_STATUS   0x08
#define DIGIPOT10_REG_LOCK   0x09
#define DIGIPOT10_REG_TERMINAL_CONTROL   0x0A
#define DIGIPOT10_REG_SYNC   0x0B
#define DIGIPOT10_REG_CRC   0x0C
#define DIGIPOT10_REG_RESET   0x0D
#define DIGIPOT10_REG_NV_W_0_COUNT   0x15
#define DIGIPOT10_REG_NV_W_1_COUNT   0x17
#define DIGIPOT10_REG_DATA_0_COUNT   0x19
#define DIGIPOT10_REG_DATA_1_COUNT   0x1B
#define DIGIPOT10_REG_DATA_2_COUNT   0x1D
#define DIGIPOT10_CMD_REG_MASK   0xF8
 DIGI POT 10 command and data settings.
#define DIGIPOT10_CMD_OP_WRITE_DATA   0x00
#define DIGIPOT10_CMD_OP_READ_DATA   0x07
#define DIGIPOT10_CMD_OP_INCREMENT_WIPER   0x02
#define DIGIPOT10_CMD_OP_DECREMENT_WIPER   0x04
#define DIGIPOT10_CMD_OP_MASK   0x07
#define DIGIPOT10_DATA_MASK   0x03FF
#define DIGIPOT10_STATUS_ECED   0x0040
 DIGI POT 10 STATUS register setting.
#define DIGIPOT10_STATUS_SPIWDT   0x0020
#define DIGIPOT10_STATUS_CMDERR   0x0010
#define DIGIPOT10_STATUS_CRCERR   0x0008
#define DIGIPOT10_STATUS_SRST   0x0004
#define DIGIPOT10_STATUS_POR   0x0002
#define DIGIPOT10_STATUS_MTPMA   0x0001
#define DIGIPOT10_LOCK_LOCKNV   0x0002
 DIGI POT 10 LOCK register setting.
#define DIGIPOT10_LOCK_LOCKV   0x0001
#define DIGIPOT10_TCON0_R1A   0x0020
 DIGI POT 10 TCON0 register setting.
#define DIGIPOT10_TCON0_R1W   0x0010
#define DIGIPOT10_TCON0_R1B   0x0008
#define DIGIPOT10_TCON0_R0A   0x0004
#define DIGIPOT10_TCON0_R0W   0x0002
#define DIGIPOT10_TCON0_R0B   0x0001
#define DIGIPOT10_SYNC_WLAT   0x0004
 DIGI POT 10 SYNC register setting.
#define DIGIPOT10_SYNC_WRSYNC   0x0002
#define DIGIPOT10_SYNC_IDSYNC   0x0001
#define DIGIPOT10_CRC_CRCEN   0x0001
 DIGI POT 10 CRC register setting.
#define DIGIPOT10_RESET_SWRSTVAL   0x00A5
 DIGI POT 10 RESET register setting.
#define DIGIPOT10_WIPER_FULL_SCALE   0x03FF
 DIGI POT 10 wiper setting.
#define DIGIPOT10_WIPER_MID_SCALE   0x0200
#define DIGIPOT10_WIPER_ZERO_SCALE   0x0000
#define DIGIPOT10_DEVICE_ADDRESS_A1A0_00   0x2C
 DIGI POT 10 device address setting.
#define DIGIPOT10_DEVICE_ADDRESS_A1A0_01   0x2D
#define DIGIPOT10_DEVICE_ADDRESS_A1A0_10   0x2E
#define DIGIPOT10_DEVICE_ADDRESS_A1A0_11   0x2F
#define DIGIPOT10_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
#define DIGIPOT10_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
#define DIGIPOT10_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Typedefs

typedef err_t(* digipot10_master_io_t) (struct digipot10_s *, uint8_t, uint8_t *, uint8_t)
typedef struct digipot10_s digipot10_t
 DIGI POT 10 Click context object.

Enumerations

enum  digipot10_drv_t { DIGIPOT10_DRV_SEL_SPI , DIGIPOT10_DRV_SEL_I2C }
 DIGI POT 10 Click driver selector. More...
enum  digipot10_return_value_t { DIGIPOT10_OK = 0 , DIGIPOT10_ERROR = -1 }
 DIGI POT 10 Click return value data. More...

Functions

void digipot10_cfg_setup (digipot10_cfg_t *cfg)
 DIGI POT 10 configuration object setup function.
void digipot10_drv_interface_sel (digipot10_cfg_t *cfg, digipot10_drv_t drv_sel)
 DIGI POT 10 driver interface setup function.
err_t digipot10_init (digipot10_t *ctx, digipot10_cfg_t *cfg)
 DIGI POT 10 initialization function.
err_t digipot10_default_cfg (digipot10_t *ctx)
 DIGI POT 10 default configuration function.
err_t digipot10_write_reg (digipot10_t *ctx, uint8_t reg, uint16_t data_in)
 DIGI POT 10 write register function.
err_t digipot10_read_reg (digipot10_t *ctx, uint8_t reg, uint16_t *data_out)
 DIGI POT 10 read register function.
err_t digipot10_increment_wiper (digipot10_t *ctx, uint8_t reg)
 DIGI POT 10 increment wiper function.
err_t digipot10_decrement_wiper (digipot10_t *ctx, uint8_t reg)
 DIGI POT 10 decrement wiper function.
err_t digipot10_soft_reset (digipot10_t *ctx)
 DIGI POT 10 software reset function.
err_t digipot10_set_wiper_0 (digipot10_t *ctx, uint16_t wiper)
 DIGI POT 10 set wiper 0 function.
err_t digipot10_set_wiper_1 (digipot10_t *ctx, uint16_t wiper)
 DIGI POT 10 set wiper 1 function.

Detailed Description

This file contains API for DIGI POT 10 Click Driver.

Typedef Documentation

◆ digipot10_master_io_t

typedef err_t(* digipot10_master_io_t) (struct digipot10_s *, uint8_t, uint8_t *, uint8_t)

Driver serial interface.

◆ digipot10_t

typedef struct digipot10_s digipot10_t

DIGI POT 10 Click context object.

Context object definition of DIGI POT 10 Click driver.

Enumeration Type Documentation

◆ digipot10_drv_t

DIGI POT 10 Click driver selector.

Selects target driver interface of DIGI POT 10 Click driver.

Enumerator
DIGIPOT10_DRV_SEL_SPI 

SPI driver descriptor.

DIGIPOT10_DRV_SEL_I2C 

I2C driver descriptor.

◆ digipot10_return_value_t

DIGI POT 10 Click return value data.

Predefined enum values for driver return values.

Enumerator
DIGIPOT10_OK 
DIGIPOT10_ERROR